package com.mdd.front.service.goods;


import com.mdd.common.core.PageResult;
import com.mdd.common.entity.goods.OrderGoods;
import com.mdd.front.validate.PageParam;
import com.mdd.front.validate.goods.OrderGoodsParam;
import com.mdd.front.vo.goods.OrderGoodsDetailVo;
import com.mdd.front.vo.goods.OrderGoodsListVo;

import java.util.List;
import java.util.Map;

/**
 * 订单服务服务接口类
 */
public interface IOrderGoodsService {

    /**
     * 订单服务列表
     *
     * @author slien
     * @param pageParam 分页参数
     * @param params 搜索参数
     * @return PageResult<OrderGoodsVo>
     */
    PageResult<OrderGoodsListVo> list(PageParam pageParam, Map<String, String> params);

    /**
     * 订单服务详情
     *
     * @author slien
     * @param id 主键ID
     * @return OrderGoods
     */
    OrderGoodsDetailVo detail(Integer id);

    /**
     * 订单服务新增
     *
     * @author slien
     * @param orderGoodsParam 参数
     */
    void add(OrderGoodsParam orderGoodsParam);

    /**
     * 订单服务编辑
     *
     * @author slien
     * @param orderGoodsParam 参数
     */
    void edit(OrderGoodsParam orderGoodsParam);

    /**
     * 订单服务删除
     *
     * @author slien
     * @param id 主键ID
     */
    void del(Integer id);

    void insert(OrderGoods orderGoods);

    List<OrderGoodsDetailVo> listByOrderIds(List<Long> orderIds);

    OrderGoods getByOrderId(Long id);

    List<OrderGoods> listByGoodsIds(List<Long> goodsIds);

    Boolean updateEntityById(OrderGoods orderGoods);

    Integer getIsCommentOrderGoods();
}
